CodeIgniter একটি লাইটওয়েট PHP ফ্রেমওয়ার্ক, যা সহজেই ইনস্টল এবং কনফিগার করা যায়। নিচে ধাপে ধাপে CodeIgniter সেটআপ এবং ইনস্টলেশনের প্রক্রিয়া আলোচনা করা হলো।
CodeIgniter ইনস্টল করার আগে নিশ্চিত করুন আপনার সার্ভারে নিম্নলিখিত শর্তগুলো পূরণ করছে:
CodeIgniter-এর অফিসিয়াল ওয়েবসাইট থেকে CodeIgniter ডাউনলোড করুন। অথবা Composer ব্যবহার করতে চাইলে নিম্নলিখিত কমান্ডটি চালান:
composer create-project codeigniter4/appstarter your_project_name
ডাউনলোডকৃত ফাইলটি আনজিপ করুন এবং আপনার সার্ভারের রুট ডিরেক্টরিতে আপলোড করুন। উদাহরণস্বরূপ:
htdocs
ফোল্ডারে।আপনার প্রয়োজন অনুযায়ী একটি ডাটাবেস তৈরি করুন (যেমন MySQL) এবং সংযোগের তথ্য তৈরি করুন।
.env
ফাইল কনফিগার করুনCodeIgniter 4 এর .env
ফাইলটি কনফিগার করতে নিচের স্টেপ অনুসরণ করুন:
env
ফাইলটি .env
এ রিনেম করুন।.env
ফাইল ওপেন করে ডাটাবেসের তথ্য দিন:
database.default.hostname = localhost
database.default.database = your_database_name
database.default.username = your_username
database.default.password = your_password
database.default.DBDriver = MySQLi
app/Config/App.php
ফাইলটি খুলুন এবং বেস URL নির্ধারণ করুন:
public $baseURL = 'http://localhost/your_project_name/';
ডাটাবেস ব্যবহারের জন্য ড্রাইভার নির্বাচন করতে app/Config/Database.php
ফাইল কনফিগার করুন।
.htaccess
public/
ডিরেক্টরিতে .htaccess
ফাইলটি নিশ্চিত করুন, যা URL রিরাইটিং পরিচালনা করবে। উদাহরণ:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
nginx.conf
ফাইলটি কনফিগার করুন:
server {
listen 80;
server_name your_domain;
root /path/to/your_project/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Localhost-এ CodeIgniter চালানোর জন্য PHP এর বিল্ট-ইন সার্ভার ব্যবহার করতে পারেন:
php spark serve
এটি ডিফল্টভাবে http://localhost:8080
তে রান হবে।
আপনার ব্রাউজারে http://localhost/your_project_name
বা http://localhost:8080
(Spark সার্ভার ব্যবহারের ক্ষেত্রে) লিংকে যান।
CodeIgniter ইনস্টল এবং সেটআপ সম্পন্ন করার পর, আপনি কাস্টমাইজড কন্ট্রোলার, মডেল, এবং ভিউ তৈরি করে ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্ট শুরু করতে পারবেন।
XAMPP হলো একটি জনপ্রিয় ক্রস-প্ল্যাটফর্ম সফটওয়্যার প্যাকেজ, যা Apache Server, PHP, MySQL, এবং অন্যান্য টুলস সমন্বিতভাবে সরবরাহ করে। এটি সহজেই একটি স্থানীয় সার্ভার তৈরি করতে এবং ওয়েব ডেভেলপমেন্ট শুরু করতে সাহায্য করে।
C:\xampp
) বজায় রাখুন।http://localhost/
C:\xampp\htdocs\
/opt/lampp/htdocs/
my_project
)।আপনার প্রজেক্ট ফোল্ডারে একটি index.php
ফাইল তৈরি করুন এবং নিচের কোড যোগ করুন:
<?php
echo "XAMPP Server Running Successfully!";
?>
ব্রাউজারে যান এবং টাইপ করুন:http://localhost/my_project/
http://localhost/phpmyadmin/
my_database
) এবং Create বাটনে ক্লিক করুন।ডাটাবেসে টেবিল তৈরি করে আপনার প্রজেক্টের জন্য ডেটা ম্যানেজমেন্ট শুরু করুন।
Apache পোর্ট পরিবর্তন: xampp\apache\conf\httpd.conf
ফাইল খুলুন এবং নিচের লাইনটি পরিবর্তন করুন:
Listen 80
এটি পরিবর্তন করে Listen 8080
করুন।
http://localhost:8080/
ব্যবহার করুন।XAMPP সেটআপ সম্পন্ন হলে, আপনি স্থানীয় সার্ভারে আপনার প্রজেক্ট তৈরি ও পরীক্ষা করতে পারবেন। এটি নতুন ডেভেলপারদের জন্য একটি আদর্শ পরিবেশ তৈরি করে।
CodeIgniter একটি লাইটওয়েট PHP ফ্রেমওয়ার্ক, যা ডেভেলপারদের দ্রুত এবং কার্যকরভাবে ওয়েব অ্যাপ্লিকেশন তৈরি করতে সহায়তা করে। এখানে ধাপে ধাপে CodeIgniter ডাউনলোড এবং ইন্সটলেশনের প্রক্রিয়া ব্যাখ্যা করা হলো।
.zip
বা .tar.gz
ফাইলটি আপনার লোকাল সার্ভারে আনজিপ করুন।আপনার সিস্টেমে Composer ইন্সটল করা থাকলে নিম্নলিখিত কমান্ড ব্যবহার করে CodeIgniter ডাউনলোড করতে পারেন:
composer create-project codeigniter4/appstarter your_project_name
উপরের কমান্ডটি আপনার নির্দিষ্ট ডিরেক্টরিতে CodeIgniter 4 ডাউনলোড এবং সেটআপ করবে।
ডাউনলোডকৃত .zip
ফাইলটি আনজিপ করুন এবং ফোল্ডারটি আপনার সার্ভারের রুট ডিরেক্টরিতে কপি করুন:
C:\xampp\htdocs\your_project_name
/opt/lampp/htdocs/your_project_name
আপনার ব্রাউজারে যান এবং নিম্নলিখিত URL ব্যবহার করুন:
http://localhost/your_project_name/public
CodeIgniter সফলভাবে ইনস্টল হলে ডিফল্ট ওয়েলকাম পেজ দেখা যাবে।
.env
ফাইল সেটআপCodeIgniter 4 এর .env
ফাইলটি কনফিগার করতে নিচের ধাপগুলো অনুসরণ করুন:
env
ফাইলটিকে .env
নাম দিন।.env
ফাইল খুলে নিচের ডেটাবেস কনফিগারেশন সেট করুন:
database.default.hostname = localhost
database.default.database = your_database_name
database.default.username = your_username
database.default.password = your_password
database.default.DBDriver = MySQLi
app/Config/App.php
ফাইল খুলুন এবং বেস URL নির্ধারণ করুন:
public $baseURL = 'http://localhost/your_project_name/';
ডাটাবেস সংযোগ সেটআপের জন্য app/Config/Database.php
ফাইল এডিট করুন:
public $default = [
'DSN' => '',
'hostname' => 'localhost',
'username' => 'your_username',
'password' => 'your_password',
'database' => 'your_database_name',
'DBDriver' => 'MySQLi',
'DBPrefix' => '',
];
CodeIgniter 4 এর বিল্ট-ইন সার্ভার ব্যবহার করতে নিচের কমান্ড চালান:
php spark serve
এটি ডিফল্টভাবে http://localhost:8080
তে চালু হবে।
ব্রাউজারে http://localhost:8080
(Spark সার্ভার) অথবা http://localhost/your_project_name/public
(XAMPP) লিংকটি খুলুন এবং দেখুন CodeIgniter সঠিকভাবে কাজ করছে কিনা।
CodeIgniter ইন্সটলেশন এবং সেটআপ সম্পন্ন করার পর, আপনি কাস্টম কন্ট্রোলার, মডেল এবং ভিউ তৈরি করে ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্ট শুরু করতে পারবেন।
CodeIgniter একটি সুনির্দিষ্ট এবং সুসংগঠিত ডিরেক্টরি স্ট্রাকচার ব্যবহার করে। এটি ফ্রেমওয়ার্কটির কার্যকারিতা উন্নত করে এবং কোড রক্ষণাবেক্ষণ সহজ করে। নিচে CodeIgniter 4 এর ডিরেক্টরি স্ট্রাকচার এবং প্রতিটি ফোল্ডারের ভূমিকা ব্যাখ্যা করা হয়েছে।
CodeIgniter ইন্সটল করার পরে আপনি নিচের মতো একটি ডিরেক্টরি স্ট্রাকচার দেখতে পাবেন:
/app
/public
/system
/tests
/writable
/vendor
.env
spark
/app
এটি আপনার অ্যাপ্লিকেশনের মূল ফোল্ডার। এখানে আপনার কাস্টম কন্ট্রোলার, মডেল, ভিউ এবং অন্যান্য ফাইল সংরক্ষণ করা হয়।
/app/Config
এই ফোল্ডারে অ্যাপ্লিকেশনের সমস্ত কনফিগারেশন ফাইল থাকে। উদাহরণ:
App.php
: বেস URL, ডিফল্ট ল্যাঙ্গুয়েজ ইত্যাদি কনফিগারেশন।Database.php
: ডাটাবেস কনফিগারেশন।/app/Controllers
এখানে কন্ট্রোলার ফাইল তৈরি এবং সংরক্ষণ করা হয়। এটি অ্যাপ্লিকেশনের লজিক পরিচালনা করে।
/app/Models
মডেল ফাইলগুলো এখানে রাখা হয়। এটি ডাটাবেস সম্পর্কিত কাজ পরিচালনা করে।
/app/Views
ভিউ ফাইলগুলো এখানে রাখা হয়। এটি অ্যাপ্লিকেশনের আউটপুট এবং ইউজার ইন্টারফেস প্রদর্শনের জন্য ব্যবহৃত হয়।
/app/Libraries
আপনার কাস্টম লাইব্রেরি ফাইল এখানে সংরক্ষণ করা হয়।
/app/Helpers
কাস্টম হেল্পার ফাইলগুলো এখানে রাখা হয়। এগুলো অ্যাপ্লিকেশনের পুনরায় ব্যবহৃত কার্যকলাপের জন্য ব্যবহৃত হয়।
/public
এই ফোল্ডারে অ্যাপ্লিকেশনের public-facing ফাইলগুলো থাকে। এটি ব্রাউজার থেকে সরাসরি অ্যাক্সেস করা যায়। উদাহরণ:
index.php
: এটি এন্ট্রি পয়েন্ট।/system
CodeIgniter এর কোর ফাইলগুলো এখানে থাকে। এই ফোল্ডারে পরিবর্তন করা উচিত নয়। এটি ফ্রেমওয়ার্কের অভ্যন্তরীণ কার্যক্রম পরিচালনা করে।
/writable
এটি এমন একটি ফোল্ডার যেখানে লগ ফাইল, ক্যাশ ফাইল, এবং অন্যান্য অস্থায়ী ডেটা সংরক্ষণ করা হয়। এটি রাইটেবল (writable) হওয়া প্রয়োজন।
/writable/cache
ক্যাশ ফাইল সংরক্ষণের জন্য ব্যবহৃত হয়।
/writable/logs
লগ ফাইল সংরক্ষণ করা হয়, যা ডিবাগিং এবং সমস্যা সমাধানে সহায়ক।
/tests
আপনার অ্যাপ্লিকেশনের টেস্টিং ফাইল এখানে রাখা হয়। CodeIgniter ইউনিট টেস্টিং সাপোর্ট করে।
/vendor
Composer এর মাধ্যমে ডাউনলোড করা সমস্ত লাইব্রেরি এবং প্যাকেজ এখানে সংরক্ষণ করা হয়।
.env
এটি CodeIgniter এর পরিবেশ (environment) কনফিগারেশন ফাইল। এটি .env
নামে রিনেম করে ব্যবহার করতে হয়। উদাহরণ:
CI_ENVIRONMENT = development
database.default.hostname = localhost
database.default.database = my_database
database.default.username = root
database.default.password =
spark
এটি CodeIgniter 4 এর CLI টুল। এটি দিয়ে সার্ভার রান, মাইগ্রেশন, এবং সিড তৈরি করা যায়।
php spark serve
সিকিউরিটির জন্য, শুধুমাত্র /public
ফোল্ডারটি ব্রাউজারে অ্যাক্সেসযোগ্য হওয়া উচিত। এর জন্য:
/public
ফোল্ডারটি Document Root হিসেবে সেট করুন।Linux/MacOS-এ:
chmod -R 0777 writable/
আপনার ডাটাবেস, মেইল, এবং অন্যান্য সেটিংস .env
ফাইলের মাধ্যমে কনফিগার করুন।
CodeIgniter এর ডিরেক্টরি স্ট্রাকচার পরিষ্কার এবং সুসংগঠিত, যা ডেভেলপারদের সহজে কাজ করতে এবং অ্যাপ্লিকেশন রক্ষণাবেক্ষণ করতে সহায়ক করে।
CodeIgniter-এ .htaccess ফাইল এবং Base URL কনফিগারেশন গুরুত্বপূর্ণ, কারণ এগুলো সঠিকভাবে কনফিগার না করলে অ্যাপ্লিকেশন সঠিকভাবে কাজ করতে পারে না। নিচে ধাপে ধাপে .htaccess এবং Base URL কনফিগারেশন প্রক্রিয়া দেখানো হয়েছে।
CodeIgniter-এ .htaccess ফাইল ব্যবহার করা হয় URL রিরাইটিং এবং index.php সরিয়ে ফেলার জন্য। এটি Apache সার্ভারে কাজ করে এবং ডিফল্টভাবে ফ্রেমওয়ার্কের public/
ফোল্ডারে সংরক্ষিত থাকে।
.htaccess
ফাইল তৈরি করুন (যদি না থাকে)।নিচের কোডটি ফাইলটিতে যোগ করুন:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# Prevent access to system and writable folders
RewriteRule ^(system|writable) index.php [F,L]
# Remove index.php from URL
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
আপনার সার্ভারে mod_rewrite মডিউল সক্রিয় আছে কিনা নিশ্চিত করুন। যদি সক্রিয় না থাকে:
httpd.conf
ফাইল খুলুন।নিচের লাইনটি আনকমেন্ট করুন (যদি কমেন্ট করা থাকে):
LoadModule rewrite_module modules/mod_rewrite.so
Base URL হলো অ্যাপ্লিকেশনের মূল URL। এটি সঠিকভাবে সেট না করলে বিভিন্ন রিসোর্স (CSS, JS, ইমেজ) লোড হতে পারে না এবং লিংক ঠিকমতো কাজ করবে না।
app/Config/App.php
ফাইলটি খুলুন।$baseURL
প্রপার্টি সঠিকভাবে কনফিগার করুন:
public $baseURL = 'http://localhost/your_project_name/';
যদি আপনি custom domain ব্যবহার করেন, তাহলে সেটি যোগ করুন:
public $baseURL = 'http://example.com/';
যদি আপনার সার্ভার HTTPS সমর্থন করে, তাহলে Base URL এ http
এর পরিবর্তে https
ব্যবহার করুন:
public $baseURL = 'https://example.com/';
AllowOverride All
সেটিং চেক করুন:Apache কনফিগারেশন ফাইলে (যেমন: httpd.conf
) নিম্নলিখিত পরিবর্তন করুন:
<Directory "C:/xampp/htdocs">
AllowOverride All
</Directory>
.htaccess
ফাইল সঠিকভাবে কাজ করছে কিনা চেক করুন।.htaccess
এবং Base URL একত্রে কাজ করাধরুন, আপনার প্রজেক্টের নাম my_project এবং আপনার সার্ভার localhost। তাহলে:
.htaccess
ফাইল:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /my_project/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
app/Config/App.php
ফাইলের $baseURL
:
public $baseURL = 'http://localhost/my_project/';
ব্রাউজারে যান:
http://localhost/my_project/
লিংকে index.php
থাকবে না, যেমন:
http://localhost/my_project/controller/method
সঠিক .htaccess
এবং Base URL কনফিগারেশনের মাধ্যমে CodeIgniter অ্যাপ্লিকেশন দ্রুত এবং নির্ভুলভাবে কাজ করবে।
Read more